Notifications for ambient dangerous situations

ABSTRACT

Among other aspects, information is received at or from a mobile device. The information is derived from one or more position or motion sensors of the mobile device. The derived information is indicative of a position or a velocity of the mobile device. The position or the velocity of the mobile device conforms to a position or a velocity of a vehicle. The derived information is used to identify a dangerous situation involving the vehicle and a person on foot or a bicyclist. A notification is provided of the dangerous situation.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation application of U.S. application Ser.No. 16/155,416, filed on Oct. 9, 2018.

BACKGROUND

This description relates to notifications for ambient dangeroussituations.

Bicyclist and pedestrian safety, especially in urban areas, is highlydependent on the attentiveness of vehicle drivers. Unfortunately, inpractice, many accidents or other dangerous situations occur becausedrivers are either unaware of, or are not focused on, bicyclists andpedestrians, owing to various distractions while driving or toinconvenient “blind spots”. Moreover, drivers, bicyclists, andpedestrians (that is, anyone on foot whether walking, running, orstanding still) may themselves be distracted and be unaware of animpending accident or other dangerous situation involving anothervehicle. The differences in speeds of travel, physical sizes, anddegrees of protection from injury afforded between vehicles and peopleon foot or bicycles may make dangerous situations more prevalent and theinjures more significant in collisions between people on foot orbicycles and other vehicles.

For example, an all-too-common phenomenon that endangers bicyclists,especially in urban areas, is “dooring”. When a driver parks their caron the side of a road that's shared with bicyclists, they may open thedoor without looking at whether a bicyclist is nearby and hit thebicyclist causing them to fall and get injured. In certain diresituations, which unfortunately do occur in practice, the bicyclist mayget thrown into the path of vehicular traffic, leading to significantinjuries or even death. The number of such incidents is significant; forinstance, a study estimated 344 such incidents in Chicago alone in 2011(Doorings in Chicago and NYC are still a sorry state but one of them isdoing something about it.http://gridchicago.com/2012/doorings-in-chicago-and-nyc-are-still-a-sorry-state-but-one-of-them-is-doing-something-about-it/).It is likely that thousands of such incidents occur around the worldeach month.

Other examples of accidents or other dangerous situations involvingvehicles and bicyclists or pedestrians are at intersections, pedestriancrossings (whether marked or not), and when cars attempt to passbicyclists or pedestrians.

SUMMARY

In general, in an aspect, information is received at or from a mobiledevice. The information is derived from one or more position or motionsensors of the mobile device. The derived information is indicative of aposition or a velocity of the mobile device. The position or thevelocity of the mobile device corresponds to a position or a velocity ofa vehicle. The derived information is used to identify a dangeroussituation involving the vehicle and a person on foot or a bicyclist. Anotification is provided of the dangerous situation.

Implementations may include one or a combination of two or more of thefollowing features. The vehicle is stopped by a side of a road and abicyclist is moving along the road near the vehicle. The derivedinformation includes an indication that the vehicle has recently stoppedor is about to stop. The derived information includes an indication thatthe stopped vehicle has one or more people inside it. This informationcan be obtained using data from mobile phone sensors such as positionsensors (GPS), accelerometer, or gyroscopes or combinations of them byanalyzing the movement pattern from this data. The derived informationincludes an indication of the duration of time that the vehicle has beenstopped. Too short a time, especially with no motion pattern indicatingsomeone leaving the vehicle may be used to suppress the notification.The providing of the notification includes providing a notification tothe bicyclist or the person on foot. The providing of the notificationincludes providing a notification to an occupant of the vehicle. Thederived information is received in a wireless communication and thesignal strength of the communication is indicative of the distancebetween the vehicle and the bicyclist or person on foot. Thenotification is presented by a mobile device. The mobile device includesa smart phone. The mobile device includes an electronic tag. Theelectronic tag is associated with a vehicle, a bicyclist, or a person onfoot. Using the derived information to identify the dangerous situationincludes determining if the dangerous situation is within a relevantgeographic scope or relevant temporal scope with respect to the vehicleor the mobile device or electronic tag. Using the derived information toidentify the dangerous situation includes identifying nascent dangeroussituations and selecting dangerous situations from among the nascentdangerous situations, and sending notifications for the selecteddangerous situations. The derived information is received from a tag, amobile device, or a server. The derived information is communicated to aserver. Receiving the derived information includes receiving the derivedinformation through a server.

These and other aspects, features, and implementations (a) can beexpressed as methods, apparatus, systems, components, program products,methods of doing business, means or steps for performing a function, andin other ways, and (b) will become apparent from the followingdescriptions, including the claims.

DESCRIPTION

FIGS. 1 and 2 are block diagrams.

With the advent of sensor-equipped mobile phones, small network-enableddevices (which we sometimes call “tags”) that can be embedded invehicles (for example, the tag device developed by Cambridge MobileTelematics (H. Balakrishnan, L. D. Girod, I. Ossin, System and Methodfor Obtaining Vehicle Telematics Data, published United States patentapplication 2015/0312655, incorporated here by reference), and othermobile devices, it is possible to use technology to providenotifications to bicyclists and people on foot of dangerous situationsposed by nearby vehicles and to provide notifications to drivers ofpotential dangerous situations involving bicyclists and people on footoutside their vehicles. These notifications can be distributedwirelessly through one or more channels such as cellular, Wi-Fi,Bluetooth, other radio, acoustic, or ultrasound, for example.

The technology that we describe here (the “technology”) can acquire andprocess information needed to identify dangerous situations and toprovide appropriate notifications to drivers or other occupants ofvehicles and to bicyclists and people on foot. The technology canconstrain the number and frequency of notifications to those that arerelevant and sensible so that recipients will not reduce their attentionto the notifications or find them annoying. Such constraints can enablethe technology to focus, for example, on dangerous situations that areidentified for a relatively small geographic area in a vicinity of avehicle or a bicyclist or person on foot or a relatively short period oftime in the future or both. With these constraints in mind, we sometimesrefer to the notifications as “ambient safety notifications”.

At a high level, in some implementations, the technology relies oninformation about the positions or velocities or both of one or morevehicles and one or more people on foot or bicyclists that may be thesubject of a dangerous situation. We sometimes refer to such vehicles,people on foot, and bicyclists simply as “subject entities”. Based onthe information about the positions and velocities of the subjectentities, the technology can identify an ambient dangerous situation,such as the likelihood of a collision during a (short) future timeperiod (e.g., between 1 and 60 seconds, typically, depending on theapplication).

An example of an ambient dangerous situation is a possible collision ofa bicyclist or a person on foot (e.g., a pedestrian or a runner) with avehicle. The ambient dangerous situation could arise, for example,between a vehicle that has just been parked on a side of a street and abicyclist traveling along the street and approaching the vehicle. Thedriver in the vehicle may carelessly open the vehicle door across thepath of the bicyclist at a moment when the bicyclist does not haveenough time to avoid hitting the door. Ambient dangerous situations canalso happen at intersections and in a wide variety of othercircumstances, locations, and times. An ambient dangerous situation mayinvolve more than one vehicle or more than one person on foot or morethan one bicyclist, or combinations of them. Each of these subjectentities can be tracked by and receive notifications from thetechnology.

We use the term “subject entity” broadly to refer to any vehicle, personon foot, or bicyclist who is a subject of any of the features orfunctions of the technology. Examples of subject entities are a vehiclefor which the position or velocity is being monitored or a pedestrian towhom an ambient safety notification may be sent, to name just two.

When we refer to “velocity” we mean a speed and a direction, in otherwords, a vector.

We use the term “dangerous situation” broadly to include, for example,any circumstance or occasion that may lead to injury, death, or propertydamage and involves one or more vehicles and one or more people on footor bicyclists.

We use the term “ambient dangerous situation” to include, for example, adangerous situation within a relevant geographic scope or a relevanttemporal scope or both. A given dangerous situation can be considered anambient dangerous situation with respect to a particular subject entitybut not with respect to another subject entity. For example thetechnology could consider an identified dangerous situation between abicyclist and a parked car to be an ambient dangerous situation for thecar because the bicyclist is within a relevant geographic scope of thecar at that time, but not an ambient dangerous situation for thebicyclist because the car is not within a relevant geographic scope ofthe bicyclist at that time.

We use the term “selected ambient dangerous situation” or “selecteddangerous situation” broadly to include, for example, any ambientdangerous situation that has been determined by the technology to beappropriate for sending an ambient safety notification in light ofconstraints on the number or frequency of notifications.

We use the term “relevant geographic scope” to include, for example, ageographic area in the vicinity of a subject entity that is pertinent todangerous situations for the subject entity.

In some implementations, the relevant geographic scope for a subjectentity can depend on the type of subject entity or on its position andvelocity or other factors and combinations of them. For example, when avehicle has been moving at a high velocity in a particular direction,the relevant geographic scope could be a sector of a circle in front ofthe vehicle having a length vehicle that relates to the distance thatthe vehicle is predicted to travel in that direction in a given periodof time, for example, in a range from one second to five seconds, orfifteen seconds, or 60 seconds.

We use the term “relevant temporal scope” to include, for example, afuture time period in which a collision may occur as a result of adangerous situation for a subject entity.

In some cases, the relevant temporal scope for a subject entity candepend on the type of subject entity or its position and velocity orother factors and combinations of them. For a pedestrian walking on asidewalk at three miles per hour, the relevant temporal scope could bebased on how long it would be predicted for the pedestrian to require towalk (or run) away from a dangerous situation after receiving anotification. That relevant temporal scope could be, for example, in arange from two seconds to five seconds or ten seconds.

By continually tracking positions and velocities of subject entities thetechnology can identify nascent dangerous situations. Nascent dangeroussituations may or may not develop into actual dangerous situations. Forexample, when a vehicle and a bicyclist are approaching an intersectionfrom different directions, they may possibly collide at theintersection. In theory, the technology could issue repeatednotifications to the bicyclist, the driver of the vehicle, or bothbeginning when the technology first determines that they are both headedtoward the intersection, that is, determines the existence of a nascentdangerous situation. However, if the technology sent such notificationsrepeatedly for every identified nascent dangerous situation, the numberof received notifications could be overwhelming, the bicyclist anddriver of the vehicle might tend to disregard them, and theeffectiveness of the notifications would be diminished.

To reduce the volume of notifications to a given subject entity and toincrease the chances that notifications will be understood and acted on,the technology applies a selection process to determine which identifiednascent dangerous situations should become selected dangerous situationsand therefore trigger notifications to one or more subject entities. Insome implementations, for this purpose, the selection process cancontinually determine the relevant temporal scope and relevantgeographic scope for each subject entity and apply the scopes to nascentdangerous situations to determine if they are actual dangeroussituations that should trigger notifications. Other rules and processesand combinations of them can be used to determine selected dangeroussituations.

For example a bicyclist traveling northwards should not be warned of acar parked on the opposite side of the road, even though the car may bewithin the car's relevant geographic scope. Therefore, it can beimportant to take into account the directionality of motion of the carprior to parking and the directionality of the bicyclist's motion.

Typically a dangerous situation involves a possible collision of atleast two subject entities, one a vehicle and the other a person on footor bicyclist. To identify dangerous situations the technology can usepast, current, and predicted future position and velocity informationabout the subject entities to determine whether they are likely to be inthe same position at the same time in the future. The technology alsocan predict the likelihood of such a collision based in part on whetheran identified dangerous situation is within a relevant temporal scope orgeographic scope or both for one or more subject entities.

As shown in FIG. 1, in some cases the features and functions of thetechnology 10 can be implemented by apps 12, 13, 15 or other software14, 17, 19 (executable instructions) executed by processors 16, 18, 21running on mobile devices 20, 22, such as tags or mobile phonesassociated with subject entities 24, 26, or on servers 28 that can beremote from the subject entities. The mobile devices and servers (wesometimes together call these “the devices”) can communicate at leastpartly wirelessly through communication networks 30. The communicationnetworks can include the Internet, cellular networks, and localshort-range networks using a wide variety of protocols, including Wi-Fi,Bluetooth, other radio, acoustic, or ultrasound, for example.

Each of the processors can use information derived from position andmotion sensors 36, 38 of the mobile devices 20, 22 (including, forexample, electronic tags located on or in one or more vehicles orbicycles or in the possession of or worn by one or more people on footor bicyclists). In some implementations the position and motioninformation for one or more of the subject entities can be sentwirelessly through the Internet 32 to the server 28 and the processor 21at the server can identify ambient dangerous situations, manage thesending of notifications, and perform other operations.

The mobile devices can also include cameras capable of capturing imagesor video of the environment within, for example, a relevant geographicscope of a subject entity. The sensors can include GPS receivers andGPS-signal processors and inertial measuring devices such as anaccelerometer and gyroscope, a magnetometer, and devices that canprocess cellular signals to determine position, among others.

As shown in FIG. 2, a wide variety executable processes can beimplemented in functional blocks of the apps and other software 60 toprovide functions and features of the technology. The blocks mayperform, for example, signal processing 62 of raw signals 61 fromsensors, data acquisition 64 from data producing sensors, other datasources, and stored data 65, predictive model execution 66, geographicscoping 74, temporal scoping 76, nascent dangerous situationidentification 70, dangerous situation selection 72, notificationpreparation and delivery 78, inter-device coordination 80, and userinterface management 82, among other features and functions. Each ofthese functions and features can be performed at any of the mobiledevices or at the server or the performance of the functions andfeatures can be shared cooperatively by one or more of the mobiledevices and the server.

We discuss these features and functions below.

In some implementations, the executable instructions cause theprocessors to process raw signals provided by the sensors of thedevices, for example, raw position, velocity, or acceleration signalsand raw image and video signals. The result of the processing can be atime sequence of processed position and velocity signals or data 90 fora subject entity associated with a device from which the raw signalswere drawn. The frequency of occurrence of the resulting signals or datain the time sequence can depend on the type of subject entity, theprocessing capability of the processor, and other factors. In somecases, the frequency can be in the range of 100 per second to 1 every 10seconds, for example. The resulting signals or data in the time sequencecan be stored locally in a storage device 101, 103 of the mobile device,can be sent by wireless communication to another mobile device or to theserver for storage 105 or processing, or combinations of those.

In some instances, the executable instructions cause the processors toacquire data 65 from a local mobile device or to acquire data bycommunication through one of the communication networks or channels fromother mobile devices or servers through the communication networks orchannels. The acquired data can represent raw or processed signalsquantifying, for example, the position or velocity of a local mobiledevice or of other mobile devices, information about identified nascentdangerous situations or selected dangerous situations, or notificationsof dangerous situations, among other things. The acquired data can beorganized as time sequences of data occurring with frequencies similarto those mentioned for the raw signals. The acquired data can be storedin a local storage of a mobile device for later use.

The executable instructions can cause the processor to predict thelocations or velocities of one or more subject entities in the future,which enables determinations of dangerous situations and assistsselection of selected dangerous situations. The predictions can be basedon models of behavior of subject entities of different types, onhistorical information about the behaviors of particular subjectentities, and on the stored data about current and recent positions andvelocities of subject entities.

The executable instructions can cause the processor to generate relevantgeographic scopes for one or more of the subject entities dynamically astime passes based, for example, on the type of subject entity, thecurrent position and velocity of the subject entity, and other factors,and combinations of them. Similar factors can be used by the processorin executing the instructions to generate relevant temporal scopes forone or more of the subject entities. Updated relevant geographic andtemporal scopes can be generated frequently, for example, once a secondor more or less frequently than once a second.

The executable instructions can cause the processor to identify nascentdangerous situations based on information about the position andvelocity of one or more subject entities, their predicted positions andvelocities in the future, and comparisons of the future trajectories(positions and velocities) of the subject entities. The output of theprocess can be a list of nascent dangerous situations 92, each record ofwhich identifies one or more subject entities that are the subject ofthe dangerous situation, the predicted time of the nascent dangeroussituation, and the predicted location of the nascent dangeroussituation. The records can be stored temporarily and updated frequentlyto maintain accurate current information about nascent dangeroussituations.

The information derived from sensors can include an indication that thestopped vehicle has one or more people inside it. This information canbe obtained using data from mobile phone sensors such as positionsensors (GPS), accelerometer, and/or gyroscopes or combinations of themby analyzing the movement pattern from this data. The derivedinformation includes an indication of the duration of time that thevehicle has been stopped. Too short a time, especially with no motionpattern indicating someone leaving the vehicle may be used to suppressthe notification. The providing of the notification includes providing anotification to the bicyclist or the person on foot. The providing ofthe notification includes providing a notification to an occupant of thevehicle. The derived information is received in a wireless communicationand the signal strength of the communication is indicative of thedistance between the vehicle and the bicyclist or person on foot.

The executable instructions can cause the processor to filter thenascent dangerous situations to identify among the nascent dangeroussituations, selected dangerous situations 94 for which notificationsshould be communicated to subject entities. The notifiable dangeroussituations can be identified independently with respect to each of thesubject entities. The selection can be based on the urgency of thedangerous situation in terms of the relevant geographic scope or thetemporal geographic scope, or both, the number or frequency ofpreviously sent notifications with respect to the dangerous situation,the number or frequency of notifications previously sent to a givensubject entity for all dangerous situations, the predicted likelihood ofa collision related to the dangerous situation, the type of subjectentity, and other factors, and combinations of them.

The executable instructions can cause the processor to prepare anddeliver notifications. The output of the process can be a queue or otherlist 96 of planned notifications to be communicated. Each of thenotifications can include a unique identification index, anidentification of the subject entity to which it is to be sent, anindication of the content of the notification and the mode ofpresentation (text, image, video, sound, or other mode of presentation),an indication of the urgency of the notification, and the time when thenotification is to be presented, a protocol to be used in thecommunication, and other items of information, and combinations of them.The executable instructions can cause the processor to communicate thenotifications to the subject entities at the specified times. Each ofthe notifications can be sent from the mobile device or server thatgenerated the planned notification or by another one of the mobiledevices or servers to which the planned notification may have be sentfor action. The notification can be sent wirelessly using any availablewireless network such as Bluetooth, Wi-Fi or cellular. At the mobiledevice that receives the notification for presentation to a bicyclist,driver, or other user, the executable instructions cause the processorto receive and queue the notifications for presentation. The order ofthe queue can be based on the indicated time at which the notificationis to be presented, the urgency of the notification, the number of othernotifications in the queue, the mode of presentation of thenotification, and other factors, and combinations of them. The processorat the mobile device can present the notifications in the order in whichthey appear in the queue. For each notification, the processor candetermine whether the time for presentation has passed and if so whetherto present the notification anyway, and determine whether the indicatedmode of presentation is within the capability of the mobile device andif not arrange a substitute mode of presentation, and then present thenotification to the user. The processor can in some cases sent a replyto the source of the notification to confirm its presentation.

Notification must be communicated with relatively low delay, so deliveryusing local wireless broadcasts is a useful approach. The apps on themobile devices must be capable of background operation using standardmobile OS APIs (including on Android and iOS). However, as notedearlier, cloud-based server coordination and operation is also possible.In that case, the server can act as a clearinghouse, in effect. Everymobile device sends its broadcast information (position, velocity, etc.)to the server, and any interested subject entity in the vicinity canquery the server to retrieve relevant planned notifications based onwhich it can present the notifications to a user. In some instances,notifications could be issued from a server and merely presented by fromthe mobile device to an end user.

The executable instructions can cause the processors in one or more ofthe mobile devices or the server to coordinate their operations toperform one or more of the features and functions discussed above. Inthe operation of the technology, data is continually being acquired andgenerated by two or more independent mobile devices and servers.Although the data is acquired or generated independently, coordinatedaccumulation, organization, and processing of the data is desirable ornecessary for effective identification of dangerous situations,determination of selected dangerous situations, and preparation anddelivery of notifications to subject entities.

The executable instructions can cause the processor at each mobiledevice that presents notifications to manage and expose to the user auser interface through which the notifications are presented and withwhich a user can control the notification system. The user interface ata mobile device can enable user registration, account control,preferences, presentation of notifications, receipt of acknowledgementsand other user input, and other functions and features. For example, theuser interface can enable a user to turn the notifications on or off, tospecify the frequency and urgency of notifications that the user iswilling to accept, and to control the mode of presentation of thenotifications, among other preferences.

A wide variety of implementations and applications of the technology arepossible.

In one example, dooring of a bicyclist might be prevented by having adriver's mobile phone determine (based on information derived fromposition and velocity sensors of the mobile phone) that the car hasrecently stopped at a location at the side of a road and then warn thedriver by a notification in the form of a loud sound or a hapticvibration to check for bicyclists before opening her door.

Some implementations can use a driving app running on a smart phone(device A) used by a driver of a vehicle. The driving app can implementother features in addition to the features of the technology that wedescribe here. In some cases, the driving app automatically recordstelematics data (for example, position, velocity, acceleration) from thephone's sensors while the vehicle is being driven. The smart phonetherefore knows almost immediately when the vehicle has stopped and thedirection of travel prior to stopping. Once the vehicle has beenstopped, the app determines from the position reported in the telematicsdata and stored map data that the driver may have parked the vehicle,for example, next to the side of a street or road. The driving app thendetermines that a nascent dangerous situation exists with respect to,for example, bicyclists who may be traveling along the road in the samedirection in a lane next to the parked car. The driving app may thendetermine that the nascent dangerous situation should be a selectedambient dangerous situation that triggers a notification. The drivingapp may then start broadcasting a “PARKED_CAR” notification on awireless channel. This channel may be a Bluetooth Low Energy (BLE)broadcast (i.e., a Bluetooth beacon), or could be over a Wi-Fi (802.11)radio, or could be on an acoustic channel using a speaker at either anaudible or inaudible (ultrasonic) frequency, or combinations of those.

At a different subject entity that may be vulnerable to the selecteddangerous situation relative to the vehicle (for example, a bicyclisthaving a relevant geographic and temporal scope) a background apprunning on a smart phone (device B) records telematics data from thephone's sensors. The mobile device can determine whether the mode oftransportation is bicycling, walking, or some other mode based on thetelematics data (such as the recent velocity profile). If the mobiledevice B determines that the subject entity with which it is associatedis operating in a particular one or more specified modes (e.g.,bicycling), the mobile device automatically starts listening for aPARKED_CAR broadcast notification on one or more wireless channels. Ifdevice B hears such a message, the smart phone app on device B(associated with the bicyclist) compares its own position and velocity(including direction) to the position of the parked car associated withdevice A from which the notification has been broadcast. The position ofthe parked car may be provided in one or more of the following ways (andpossibly others):

1. The broadcast notification can include a GPSlatitude/longitude/altitude position or other position encoding.

2. The broadcast notification can include a unique identifier(associated with device A, or the user of device A, or possibly thevehicle that is currently associated with device A); the mapping betweenthe unique identifier and the current position of device A can beobtained at one of the servers (in the cloud), which acts as a centralrepository to accumulate, stored, and then provide this information toauthorized parties.

3. The position could be distributed on a different radio channel (e.g.,Wi-Fi, even as an access point identifier) from the PARKED_CARnotification broadcast (which could be on BLE).

If device B is moving in a direction that is getting closer tonotification broadcasting device A, then the PARKED_CAR notificationcould be considered a notification of high relevance and further actiontaken as described below. For example, if the device B moves to alocation for which the position of device A is within device B'sgeographic scope, then device B could treat the notification asrelatively urgent in the process of selection incoming notifications.

The position of the parked car may also be inferred implicitly usingradio ranging. For example, if device B is detecting an increase insignal strength of the broadcast from device A, then device B mayconclude that the relevance of this broadcast is high. Otherwise, deviceB may filter out the notification, in effect ignoring it.

If the strength of the received broadcast signal is at least as high asa threshold signal strength (which could be set dynamically), the deviceB could present a notification to the user using a user-observableaudio, text, or other presentation mode on the mobile device B. In sucha case, the device B infers the existence of an ambient dangeroussituation based on the signal strength and can formulate its ownnotification for presentation to the user of device B. In other words,the simple receipt of the broadcast message with a high enough signalstrength is itself a sufficient indication of an ambient dangeroussituation to trigger device B to formulate and present a notification.

This example of an ambient safety notification is illustrative andgeneralizes to many other examples such as:

1. Pedestrians or bicyclists being warned if a car is moving too fasttoward them.

2. Pedestrians or bicyclists being warned in a more intrusive way iftheir mobile app running in the background determines that they may beengaged in a phone call while walking and may not be paying attention tothe road.

3. Bicyclists or pedestrians being warned if a vehicle is on track tocome too close to them, and also vice versa (warning a driver if theirvehicle is on track to come too close to a bicyclist or a person onfoot).

4. A driver of a vehicle being warned of a bicyclist or pedestrian beingvery close. In this use case, device A (broadcasting) would be thebicyclist or pedestrian, and device B (receiving) would be in thevehicles.

In some implementations that use tags, a tag can includes accelerationsensors that can detect when a vehicle has stopped and can trigger thePARKED_CAR notification on every vehicle stop that exceeds a certainperiod of time (such as a period in a range between three seconds and 10seconds, for example). (the period may be set dynamically). Thenotification then can be broadcast from the mobile device. If the phoneis used, the location (determined by the phone app) may be included inthe notification, but this is not essential. The listening device(device B) can use ranging based on signal strength (as explained above)to determine whether to present a notification to the user.

A tag can also function as the listening device instead of or inaddition to the notification sending device. The tag doesn't need to beon a vehicle; it could be on a bicyclist or on a person on foot. Themobile device could in some cases by a smart watch or a sensor-equippedwearable (with local or wide-area wireless communication capabilities)

Other implementations are within the scope of the following claims.

1-16. (canceled)
 17. A machine-based method comprising: receiving datarepresenting a speed and a direction of motion of a vehicle on a roadand a speed and a direction of motion of a vulnerable party on or in avicinity of the road, the vulnerable party comprising a person on footor a bicyclist, identifying actual dangerous situations that may occurbetween the vulnerable party and the vehicle based on the speeds anddirections of motions of the vehicle and the vulnerable party and basedon one or more temporal scopes or geographic scopes associated with thevehicle, or with the vulnerable party, or with both, each of thetemporal scopes or geographic scopes corresponding to a time periodwithin which the vehicle or the vulnerable party may be able to avoidone of the actual dangerous situations after having been notified of theactual dangerous situation, and determining whether to produce anotification of a given one of the actual dangerous situations forpresentation to either one or both of an occupant of the vehicle and thevulnerable party.
 18. The method of claim 17 comprising communicatinginformation about the notification to a server or to a mobile device ofthe occupant of the vehicle or the vulnerable party.
 19. The method ofclaim 17 comprising presenting the notification through a mobile deviceto the occupant of the vehicle or to the vulnerable party.
 20. Themethod of claim 17 comprising receiving information about thenotification at a mobile device of the occupant of the vehicle or thevulnerable party and determining at the mobile device whether to presentthe notification through the mobile device to the occupant of thevehicle or to the vulnerable party.
 21. The method of claim 17 in whichthe determining of whether to produce a notification occurs at a server.22. The method of claim 17 in which the determining of whether toproduce a notification occurs at a mobile device of the occupant of thevehicle or the vulnerable party.
 23. The method of claim 17 in which theidentifying of the actual dangerous situations comprises: identifyingone or more nascent dangerous situations that may occur between thevulnerable party and the vehicle based on the speeds and directions ofmotion of the vehicle and the vulnerable party, and identifying theactual dangerous situations as a subset of the nascent dangeroussituations based on the one or more temporal scopes or geographic scopesassociated with the vehicle, or with the vulnerable party, or with both.24. The method of claim 17 in which determining whether to providenotification of a given actual dangerous situation to either one or boththe occupant of the vehicle and the vulnerable party comprises: takingaccount of one or more circumstances affecting attention to thenotification of the occupant of the vehicle or the vulnerable party orboth.
 25. The method of claim 24 in which taking account of the one ormore circumstances comprises constraining the number or frequency orboth of notifications given to the vehicle or the vulnerable party orboth.
 26. The method of claim 17 in which determining whether to providenotification of a given actual dangerous situation to either one or bothof the vehicle and the vulnerable party or both comprises taking accountof an urgency of the actual dangerous situation.
 27. The method of claim26 in which the urgency is based on one or a combination of two or moreof: one or more of the relevant geographic scopes or the temporalgeographic scopes, or both; the number or frequency of previously sentnotifications with respect to the dangerous situation; the number orfrequency of notifications previously sent to the vulnerable party orthe occupant of the vehicle or both; the predicted likelihood of acollision related to the dangerous situation; and the type of thevehicle or the type of the vulnerable party or both.
 28. The method ofclaim 17 in which the data is received at a mobile device from sensorsof the mobile device or from a tag mounted in the vehicle or from both.29. The method of claim 17 in which the data is received at a server.30. The method of claim 17 in which the actual dangerous situations areidentified at a server.
 31. The method of claim 17 in which the actualdangerous situations are identified at a mobile device.
 32. The methodof claim 17 comprising presenting the notification.
 33. The method ofclaim 32 comprising communicating the notification by local wirelessbroadcast using an application programming interface (API) of anoperating system of a mobile device.
 34. The method of claim 33 in whichthe communicating of the notification is part of a wirelesscommunication and the signal strength of the communication is indicativeof the distance between the vehicle and the vulnerable party.
 35. Themethod of claim 17 in which the time period is between 1 second and 60seconds.
 36. The method of claim 17 in which one of the geographicscopes associated with the vulnerable party is different from one of thegeographic scopes associated with the vehicle.
 37. The method of claim17 in which one of the temporal scopes associated with the vulnerableparty is different from one of the temporal scopes associated with thevehicle.
 38. The method of claim 17 in which the one or more temporalscopes or the one or more geographic scopes associated with the vehicle,or with the vulnerable party, or with both are determined continually.39. The method of claim 17 comprising determining a distraction state ofthe vulnerable party or the occupant of the vehicle, and determiningwhether to present the notification in a more intrusive way based on thedistraction state.
 40. The method of claim 17 in which the vehicle isstopped by a side of a road and the vulnerable party is a bicyclistmoving along the road near the vehicle.
 41. The method of claim 17 inwhich the received data is received from an electronic tag associatedwith the vehicle or with the vulnerable party.
 42. The method of claim17 comprising enabling the vulnerable party or an occupant of thevehicle to specify, through a user interface, an acceptable frequency orurgency of notifications.
 43. The method of claim 17 comprisingdetermining a mode of transportation of the vulnerable subject based onthe received data.
 44. The method of claim 17 comprising receiving imageor video data captured at the vehicle of an environment external to thevehicle.
 45. The method of claim 44 comprising identifying the actualdangerous situations that may occur between the vulnerable party and thevehicle based at least in part on the image or video data.
 45. Themethod of claim 44 comprising determining whether to produce thenotification of the given actual dangerous situation based at least inpart on the image or video data.
 46. A machine-based method comprising:receiving data representing motion of a vehicle on a road and motion ofa vulnerable party on or in a vicinity of the road, the vulnerable partycomprising a person on foot or a bicyclist, the data including image orvideo data captured at the vehicle of an environment external to thevehicle, identifying an actual dangerous situation that may occurbetween the vulnerable party and the vehicle based on (a) the motions ofthe vehicle and the vulnerable party, (b) the image or video data, and(c) a time period within which the vehicle or the vulnerable party maybe able to avoid the actual dangerous situation after having beennotified of the actual dangerous situation, determining the time period;and determining whether to produce a notification of the actualdangerous situation for presentation to either one or both of anoccupant of the vehicle and the vulnerable party based at least in parton the image or video data.